4. ПРОГРАММНЫЕ СРЕДСТВА РЕАЛИЗАЦИИ ИНФОРМАЦИОННЫХ ПРОЦЕССОВ
4.3. Инструментальное программное обеспечение ЭВМ
Инструментальное ПО служит для разработки программ, применяемых
в самых разных областях деятельности человека.
В
истории программирования можно выделить следующие этапы по способам написания
программ:
–
программирование в машинных кодах;
–
использование машинно-ориентированных языков низкого уровня;
–
использование алгоритмических языков высокого уровня.
Для
того чтобы ЭВМ могла выполнять программу, она должна быть записана по строгим
правилам в виде, доступном процессору, т. е. представлять собой
последовательность двоичных чисел и кодов.
Такие
коды называются машинными кодами, машинными командами. Программа,
написанная таким образом, – программой на машинном языке или исполняемым
модулем.
Первоначально,
когда появились ЭВМ, программисты для разработки программ использовали машинный
язык. Это было очень трудно и неудобно, так как приходилось самому распределять
память под команды программы и данные, держать в памяти массу абстрактных
двоичных кодов, обозначающих адреса данных и команд, которые их обрабатывают.
На
втором этапе для облегчения программирования была создана программа, которая
автоматически заменяла в программах удобные человеку названия переменных и
операций на машинные команды. Эта процедура была обозначена термином трансляция, а программа,
выполняющая ее, транслятором. На этом этапе трансляторы могли
переводить в машинные коды конструкции, которые заменялись одной или
несколькими (условно не больше пяти) машинными командами. Для совокупности
правил, по которым следует записывать программу, чтобы ее мог обработать такой
транслятор, используют термины ассемблер, макроассемблер.
Ассемблер
– это машинно-ориентированный язык низкого уровня. Алгоритм, по которому
строится программа, приходится дробить на очень мелкие шаги, которые умеет
выполнять процессор.
При
появлении новых моделей процессоров с иной структурой команд и встроенных
операций приходится создавать новые версии ассемблера, трансляторов с него и
переписывать под них пользовательские программы.
Следующий
этап развития инструментального ПО связан с появлением алгоритмических
языков, каждый из которых содержит конструкции, удобные для записи
алгоритмов в той или иной сфере человеческой деятельности. Алгоритмические
языки относятся к классу языков высокого уровня. Они позволяют при составлении программы
дробить алгоритм на более крупные смысловые блоки, не связанные со структурой и
типом команд ЭВМ, на которой будет работать программа. При изменении модели
процессора переписывается только транслятор с алгоритмического языка, а
пользовательские программы остаются прежними.